/*
  将下面异步代码使用 Promise 的方法改进
  尽量用看上去像同步代码的方式
  setTimeout(function () {
    var a = 'hello'
    setTimeout(function () {
      var b = 'lagou'
      setTimeout(function () {
        var c = 'I ♥ U'
        console.log(a + b +c)
      }, 10)
    }, 10)
  }, 10)
*/

let promiseA = new Promise((resolve, reject) => {
  setTimeout(function () {
    var a = 'hello'
    resolve(a)
  }, 10)
})

let promiseB = (a) => {
 return  new Promise((resolve, reject) => {
    setTimeout(function () {
      var b = 'lagou'
      resolve(a + b)
    }, 10)
  })
}

let promiseC = (value) => {
  return new Promise((resolve, reject) => {
    setTimeout(function () {
      var c = 'I ♥ U'
      resolve(value + c)
    }, 10)
  })
}
promiseA.then(value => {
  return promiseB(value)
}).then(value => {
  return promiseC(value)
}).then(value=>{
  console.log(value)
})